<?php
/**
* @package   SACARWEB
* @access    public
* @author    Thiago Alves Amorim <tamorim@uel.br>
*/

include ('./bibliotecas/adodb/adodb.inc.php');
require_once("./config.php");

class Conexao {


  /**
  * Vari�el recebe o driver utilizado (dependera do banco utilizado).
  * @access private
  * @name $mDriver
  */
  private $mDriver;
  
  /**
  * Vari�el recebe o nome do usuario do banco
  * @access private
  * @name $mUser
  */
  private $mUser;
  
  /**
  * Vari�el recebe a senha do banco de dados
  * @access private
  * @name $mSenha
  */
  private $mSenha;
  
  /**
  * Vari�el recebe o nome do banco de dados utilizado
  * @access private
  * @name $mBancoDados
  */
  private $mBancoDados;
  
  /**
  * Vari�el recebe o nome do servidor utilizado
  * @access private
  * @name $mServer
  */
  private $mServer;
  private $mNovaConexao;
  
  
  /**
  * FUNCAO CONSTRUTORA PARA SETAR OS VALORES DE CONEXAO DO BANCO DE DADOS
  * @access public
  * @return void
  */
  public function __construct()
  {
	  global $A_DB_TYPE, $A_DB_HOST, $A_DB_USER, $A_DB_PASS, $A_DB_DB;
      $this->mDriver=$A_DB_TYPE;
      $this->mUser=$A_DB_USER;
      $this->mSenha=$A_DB_PASS;
      $this->mBancoDados=$A_DB_DB;
      $this->mServer=$A_DB_HOST;
  }


  /**
  * FUNCAO QUE CONECTA COM O BANCO DE DADOS ATRAVES DA BIBLIOTECA ADODB
  * @access public
  * @return void
  */
  public function Conecta(){

        $this->mNovaConexao=NewADOConnection($this->mDriver);
        $mConexao=$this->mNovaConexao->Connect($this->mServer,$this->mUser,$this->mSenha,$this->mBancoDados);
    //    $mConexao=$this->mNovaConexao->debug = true;

        if (!$mConexao)
           die('A Conexao Com o Banco Nao Foi Estabelecida');
           
  }

  /**
  * FUNCAO QUE DESCONECTA DO BANCO DE DADOS
  * @access public
  * @return void
  */
  public function Desconecta(){

	 $this->mNovaConexao->Disconnect();
  }
  
  /**
  * FUNCAO QUE EXECUTA A CONSULTA AO BANCO DE DADOS
  * @access public
  * @return boolean
  */
  public function Executa($codigoSql){

    return $this->mNovaConexao->Execute($codigoSql);
  }
  /**
  * FUNCAO QUE INICIA UMA TRANSACAO ATRAVES DA ADODB
  * @access public
  * @return boolean
  */
  public function Trans(){
  
	return $this->mNovaConexao->BeginTrans();
  }
  
  /**
  * FUNCAO QUE REALIZA O COMMIT ATRAVES DA ADODB
  * @access public
  * @return boolean
  */
  public function Commit(){

	return $this->mNovaConexao->CommitTrans();
  
 }

 /**
 * FUNCAO QUE REALIZA O ROLLBACK ATRAVES DA ADODB CASO HAJA ERRO
 * @access public
 * @return boolean
 */
 public function Rollback(){

	return $this->mNovaConexao->RollbackTrans();

 }

}

?>
